* General information

This is not a complete project yet. It is very much work in progress (WIP). There is no markdown parsing or anything like that yet. It is only basic workings of the Guile web server. In the future however, I hope to extend the implementation to make it a real markdown based blog.

* Dependencies

1. ~guile-fibers~ >= ~1.0.0~ (available on Guix packge manager)
2. ~guile-commonmark~ >= ~0.1.1~ (available on Guix packge manager)
   - I wish I could rely on something else than Commonmark, as I do not find some of their conventions intuitive, especially with regard to parts of headings, but I also do not want to rely on [[https://github.com/greghull/sundown-guile]], as it is a wrapper around a C library. So I guess for now Commonmark will have to be sufficient.

* Running

Use Guile to run ~main.scm~:

#+BEGIN_SRC shell
guile main.scm
#+END_SRC

You should then be able to reach the server at ~http://localhost:8080~.

* Questions [0/3]

This section addresses open questions, which need to be answered in order to build a markdown based blog.

- [ ] Currently the content type is hard-coded for a response. This might be fine for running behind a reverse proxy (for example NGINX), which is likely what should be done. However, if not running behind such proxy and serving files using the Guile web server (which probably should not be done yet), the content type should be automatically determined by looking at what kind of file will be served.

    I believe Amirouche Boubekki already did something like that, but said it was not ready for poduction use.

- [ ] Maybe a more comfortable way of defining routes should be implemented.

- [ ] How will this project render markdown?

  - [ ] In rendered markdown (rendered as HTML), how will code snippets be code highlighted?

    - [ ] Is there an easy way to make use of Python's ~pygments~? Greg Hendershott did so in his static blogging tool /Frog/, which is written in Racket.
